package day015;

/**
 * @author success
 * @version 1.0
 * @description:本类用来演示:线程的join方法
 * @date 2019/8/3 0003
 */
public class JoinDemo {
    public static void main(String[] args) {
        Mather m = new Mather();
        m.start();
    }
}

/**
 * 老妈线程
 */
class Mather extends Thread{
    @Override
    public void run() {
        System.out.println("老妈正在烧饭...");
        System.out.println("发现酱油没了...");
        System.out.println("让熊孩子出去打酱油...");
        //进入到阻塞状态 -> 等孩子买完酱油回来之后

        //创建son的线程
        Thread son = new Son();
        try {
            son.start();
            son.join();

            System.out.println("老妈可以继续烧饭了..");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

/**
 * 熊孩子的线程
 */
class Son extends Thread{
    @Override
    public void run() {
        System.out.println("熊孩子开心打酱油...");

        for (int i = 5; i >=1 ; i--) {
            System.out.println("还有"+i+"min,就回来了!");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println("熊孩子打完酱油回来了...");
    }
}

